home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / I3DSHAB.H < prev    next >
C/C++ Source or Header  |  1995-09-11  |  3KB  |  73 lines

  1. /* $Id: i3Dshab.h 1.3 1995/09/11 01:10:10 YannPC Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DShAB.h -                                                                                  *
  5. *   I3DShAtmosphericShader definition                                         *
  6. *   I3DShBackgroundShader definition                                          *
  7. *                                                                             *
  8. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  9. *                                                                             *
  10. \*****************************************************************************/
  11.  
  12. #ifndef __I3DSHAB__
  13. #define __I3DSHAB__
  14.  
  15. #ifndef __3DCOTYPE__
  16. #include "3DCoType.h"
  17. #endif
  18.  
  19.  
  20. //****** Globally Unique Ids *************************************************
  21.  
  22. DEFINE_GUID(IID_I3DShAtmosphericShader, 0xA0629720L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  23. DEFINE_GUID(IID_I3DShBackgroundShader, 0xA261C280L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  24.  
  25. /*****************************************************************************\
  26. *  I3DShAtmosphericShader                                                     *
  27. *                                                                             *
  28. *  Atmospheric Shader as seen from other extensions                           *
  29. *                                                                             *
  30. \*****************************************************************************/
  31.  
  32. #undef  INTERFACE
  33. #define INTERFACE   I3DShAtmosphericShader
  34.  
  35. DECLARE_INTERFACE_(I3DShAtmosphericShader, IUnknown) {
  36.     // IUnknown methods
  37.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  38.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  39.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  40.   
  41.   // I3DShAtmosphericShader methods
  42.     STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
  43.     STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
  44.     };
  45.  
  46. /*****************************************************************************\
  47. *  I3DShBackgroundShader                                                      *
  48. *                                                                             *
  49. *  Background Shader                                                          *
  50. *                                                                             *
  51. \*****************************************************************************/
  52.  
  53. #undef  INTERFACE
  54. #define INTERFACE   I3DShBackgroundShader
  55.  
  56. DECLARE_INTERFACE_(I3DShBackgroundShader, IUnknown) {
  57.     // IUnknown methods
  58.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  59.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  60.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  61.   
  62.   // I3DShBackgroundShader methods
  63.     //-- Queries
  64.     STDMETHOD_(BOOLEAN, IsBackdrop) (THIS) PURE;
  65.     //-- Backdrop
  66.     STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
  67.     //-- Environment mapping
  68.     STDMETHOD(GetEnvironmentColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor, BOOLEAN* result) PURE;
  69.     };
  70.  
  71.  
  72. #endif
  73.